fix: cte and subquery relation name and columns should be registered on query catalog#3755
Closed
swallowstalker wants to merge 2 commits intosqlc-dev:mainfrom
Closed
fix: cte and subquery relation name and columns should be registered on query catalog#3755swallowstalker wants to merge 2 commits intosqlc-dev:mainfrom
swallowstalker wants to merge 2 commits intosqlc-dev:mainfrom
Conversation
Contributor
Author
|
just realized that there is open PR about this issue after I finished create this MR 👀 for now maybe I will wait for PR #3220 to be merged as it has more complete tests |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Trying to solve #3720
CTE columns cannot be referred on main query
This is because if table name is not found on catalog, sqlc will attempt to find it on query catalog, but once it is found, it is skipped and not registered on QueryCatalog, making it invisible for it to be referred for the next steps.
sqlc/internal/compiler/resolve.go
Lines 70 to 73 in 996f7d1
Subquery relation name and columns cannot be referred on
WHEREclauseSimilar to above case, but this needs to be detected on
*ast.RangeSubselectto register alias of subquery and its output column into QueryCatalog